既然昨天介紹了 CornerNet,今天接續介紹相關的 CornerNet-Lite,
CornerNet-Lite: Efficient Keypoint Based Object Detection
這篇算是CornerNet升級版。
因此作者基於兩個方向對CornerNet進行了優化。
先講貢獻,作者提出兩個變形CornerNet:
Saccade 中文意思是“掃視”,在這裡的意思是,選擇性地(crop)ROI區域來進行detect,
減少需要處理的像素來提高inference的效率。
首先是要找出一張圖片中可能存在物體的位置,
利用縮小後的圖來產生 attention map,這裡從hourglass網路不同尺寸的upsampling中,產生三個 attention map,分別用於小目標,中目標,和大目標。
如果一個目標物的較長邊的像素小於32,則被視為小目標,32到96的視為中等目標,大於96的是大目標。
這樣區分的好處是如果你想要特別detect小物體,可以調高小目標attention map的權重
訓練時,GT的BBox中心設置為positive,其餘為negative。
另外,縮小的圖也能產生一些BBox位置,但可能不是很準確,但是也能用來估計物體可能位置。
然後排序這些可能的location,選擇top k個位置來crop原圖,作為proposal進行detect。
通過調整k,來進行準確率及效率上的平衡。
detection 方法和原來 CornerNet類似。
在可能的位置處檢測到目標物後,基於soft-NMS處理對於的檢測結果。
CornerNet-Squeeze 在達到實時的情況下,儘可能提高精度
在CornerNet中,大部分計算資源都花在了Hourglass-104上,
所以本文借鑑了SqueezeNet及MobileNet的思想來設計一個輕量級的Hourglass結構。
受SqueezeNet啟發,CornerNet-Squeeze將 residual block 替換為SqueezeNet中的 Fire module
受MobileNet啟發,CornerNet-Squeeze將第二層的3x3標準卷積替換為 3x3 深度可分離卷積(depth-wise separable convolution)
在COCO數據集上進行測試。測試環境為:1080ti GPU + Intel Core i7-7700k CPU。
在相同的inference time下,
CornerNet-Saccade實現了比RetinaNet(39.8%,190ms)和CornerNet(40.6%,213ms)好的準確性和效率權衡(在190ms為42.6%)。
CornerNet-Squeeze 無論在mAP或FPS超過YOLOv3的表現。